# import gmpy2
# p = gmpy2.mpz(144394274393187666629158642277249297382453435602578959296403804889605864578920532732639416880579134651128935054834554112584080096498346426447295733935985739514856416585675121809823149144400478616438526142105585999325292839527511456799910791677993283149376371437248346952206218400731876674762990798770792920173)
# q = gmpy2.mpz(138639211567291822280227278349125057444291707463862769788464765719285439502367319172853942673033911948473930930807136154124399682192215627858216335262938730705601911519791356462466712761159976465850301204365079600918585445774905157780631119673239399252417339414263698677531598283127706846152966843151909571407)
# e = gmpy2.mpz(65537)
# c = gmpy2.mpz(2594478016570329686529146091946620922958922795947247159612175405302574050485555371545591411358683798944281534684254537007603635764276333665439593957749504980313585489642037779107575124111297402729444080112149282891851348107105616771738243511726917438054309815382815529618058602103951770173800696405043919845901906176903004674602073097400119443499374752141404181045344808486848482135775514663391083725660849353149609041721200135965143529494174952303152304575724814806743617545259805050027493444812745099582189366953953692861542174146224640542809993797942421314140291106373829560589844973916896620473918100157570392111)
# phi_n = (p - 1) * (q - 1)
# d = gmpy2.invert(e, phi_n)
# print("d is:")
# print (d)
# m = gmpy2.


import gmpy2

# 给定的参数
p = 144394274393187666629158642277249297382453435602578959296403804889605864578920532732639416880579134651128935054834554112584080096498346426447295733935985739514856416585675121809823149144400478616438526142105585999325292839527511456799910791677993283149376371437248346952206218400731876674762990798770792920173
q = 138639211567291822280227278349125057444291707463862769788464765719285439502367319172853942673033911948473930930807136154124399682192215627858216335262938730705601911519791356462466712761159976465850301204365079600918585445774905157780631119673239399252417339414263698677531598283127706846152966843151909571407
e = 65537
c = 2594478016570329686529146091946620922958922795947247159612175405302574050485555371545591411358683798944281534684254537007603635764276333665439593957749504980313585489642037779107575124111297402729444080112149282891851348107105616771738243511726917438054309815382815529618058602103951770173800696405043919845901906176903004674602073097400119443499374752141404181045344808486848482135775514663391083725660849353149609041721200135965143529494174952303152304575724814806743617545259805050027493444812745099582189366953953692861542174146224640542809993797942421314140291106373829560589844973916896620473918100157570392111

# 计算n和φ(n)
n = p * q
phi = (p - 1) * (q - 1)

# 计算d
d = gmpy2.invert(e, phi)

# 计算m
m = gmpy2.powmod(c, d, n)

# 将m转换为十六进制字符串
h = hex(m)[2:]

# 将十六进制字符串转换为ASCII字符串
s = bytes.fromhex(h).decode('ascii')

# 打印明文
print(s)

